home *** CD-ROM | disk | FTP | other *** search
/ Precos 4.97 Computer 2000 / Precos 4.97 Computer 2000.iso / mac / Info / 5Networking / 3COM / 3C90XX.EXE / DISK1 / OEMSETUP.INF < prev    next >
INI File  |  1996-12-20  |  38KB  |  1,176 lines

  1.  
  2. [Identification]
  3.  OptionType = NetAdapter
  4.  
  5. [PlatformsSupported]
  6.  ISA
  7.  EISA
  8.  "Jazz-Internal Bus"
  9.  PCI
  10.  
  11. [Options]
  12.  3C905 
  13. 3C900 
  14.  
  15. [FileConstants]
  16.  UtilityInf = "UTILITY.INF"
  17.  subroutineinf = "SUBROUTN.INF"
  18.  SoftwareType = "driver"
  19.  Exit_Code = 0
  20.  NetEventDLL = "%SystemRoot%\System32\netevent.dll;%SystemRoot%\System32\drivers\el90x.sys"
  21.  IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll"
  22.  TrayIconExe = "comsmd.exe -on"
  23.  
  24.  Manufacturer = "3Com"
  25.  ProductMajorVersion = "1"
  26.  ProductMinorVersion = "0"
  27.  ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion)
  28.  ProductSoftwareName = "El90x"
  29.  ProductSoftwareImagePath = "%SystemRoot%\System32\drivers\el90x.sys"
  30.  NetRuleSoftwareType = "El90xSys ndisDriver El90xDriver"
  31.  NetRuleSoftwareUse = $(SoftwareType)
  32.  NetRuleSoftwareBindForm = """El90xSys"" yes no container"
  33.  NetRuleSoftwareClass = {"El90xDriver basic"}
  34.  NetRuleSoftwareBindable = {"El90xDriver El90xAdapter non exclusive 100"}
  35.  ProductHardwareName = "El90x"
  36.  NetRuleHardwareBindForm = " yes yes container"
  37.  
  38.  ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
  39.  ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  40.  
  41.  FunctionTitle = "3Com 3C90x Adapter Card Setup"
  42.  ProductSoftwareDescription = "3Com 3C90x Adapter Driver"
  43.  ProductSoftwareTitle = "3Com 3C90x Adapter Driver"
  44.  
  45. GROUP_NAME = "3Com Fast Etherlink XL/Etherlink XL"
  46.  ProductHardware3C905Title = "3Com Fast EtherLink XL Adapter (3C905)"
  47.  ProductHardware3C905Description = "3Com Fast EtherLink XL PCI 10/100Mb Adapter (3C905)"
  48.  NetRuleHardware3C905Type = "El90x El90xAdapter"
  49.  NetRuleHardware3C905Class = {"El90xAdapter basic"}
  50.  
  51.  ProductHardware3C900Title = "3Com EtherLink XL Adapter (3C900)"
  52.  ProductHardware3C900Description = "3Com EtherLink XL PCI 10Mb Adapter (3C900)" 
  53. NetRuleHardware3C900Type = "El90x El90xAdapter"
  54.  NetRuleHardware3C900Class = {"El90xAdapter basic"}
  55.  
  56.  Adapter3C905Type = 5 
  57. Adapter3C900Type = 5 
  58. 3C905CFIDList = {36944, 36945} 
  59. 3C900CFIDList = {36864, 36865} 
  60.  
  61. [GeneralConstants]
  62.  from = ""
  63.  to = ""
  64.  ExitCodeOk = 0
  65.  ExitCodeCancel = 1 
  66. ExitCodeFatal = 2
  67.  KeyNull = ""
  68.  MAXIMUM_ALLOWED = 33554432
  69.  RegistryErrorIndex = NO_ERROR
  70.  KeyProduct = ""
  71.  KeyParameters = ""
  72.  TRUE = 1
  73.  FALSE = 0
  74.  NoTitle = 0
  75.  ExitState = "Active"
  76.  OldVersionExisted = $(FALSE)
  77.  DriverPath = $(!STF_NTPATH)\drivers
  78.  NT350VersionConstant = "3.50"
  79.  NT310VersionConstant = "3.10"
  80.  NT400VersionConstant = "(4.0)"
  81.  INF_PROCESSER = "I386"
  82. [date]
  83.  Now = {} ? $(!LIBHANDLE) GetSystemDate
  84.  
  85. [Identify]
  86.  read-syms Identification
  87.  set Status = STATUS_SUCCESSFUL
  88.  set Identifier = $(OptionType)
  89.  set Media = #("Source Media Descriptions", 1, 1)
  90.  Return $(Status) $(Identifier) $(Media)
  91.  
  92. [ReturnOptions]
  93.  set Status = STATUS_FAILED
  94.  set OptionList = {}
  95.  set OptionTextList = {}
  96.  set LanguageList = ^(LanguagesSupported, 1)
  97.  Ifcontains(i) $($0) in $(LanguageList)
  98.  ifstr(i) $($1) == ""
  99.  goto returnoptions
  100.  endif
  101.  set PlatformList = ^(PlatformsSupported, 1)
  102.  Ifcontains(i) $($1) in $(PlatformList)
  103.  goto returnoptions
  104.  else
  105.  set Status = STATUS_NOTSUPPORTED
  106.  goto finish_ReturnOptions
  107.  endif
  108.  else
  109.  set Status = STATUS_NOLANGUAGE
  110.  goto finish_ReturnOptions
  111.  endif
  112.  
  113. returnoptions = +
  114.  set OptionList = ^(Options, 1)
  115.  set OptionTextList = ^(OptionsText$($0), 1)
  116.  set Status = STATUS_SUCCESSFUL
  117.  
  118. finish_ReturnOptions = +
  119.  Return $(Status) $(OptionList) $(OptionTextList)
  120.  
  121. [InstallOption]
  122.  
  123.  
  124.  
  125.  
  126. set CurrLang = $($0)
  127.  set Option = $($1)
  128.  set SrcDir = $($2)
  129.  set AddCopy = $($3)
  130.  set DoCopy = $($4)
  131.  set DoConfig = $($5)
  132.  set LanguageList = ^(LanguagesSupported, 1)
  133.  Ifcontains(i) $($0) NOT-IN $(LanguageList)
  134.  Return STATUS_NOLANGUAGE
  135.  endif
  136.  set-subst LF = "\n"
  137.  read-syms GeneralConstants
  138.  read-syms FileConstants
  139.  read-syms DialogConstants$(!STF_LANGUAGE)
  140.  ifstr(i) $(!NTN_Origination) == "NCPA"
  141.  set Continue = "OK"
  142.  endif
  143.  read-syms FileConstants$(!STF_LANGUAGE)
  144.  detect date
  145.  set-title $(Function$(Option)Title)
  146.  set to = Begin
  147.  set from = Begin
  148.  set CommonStatus = STATUS_SUCCESSFUL
  149.  EndWait
  150.  
  151. Begin = +
  152.  
  153.  
  154.  
  155.  
  156.  
  157. set CurrentVersionValue = ""
  158.  OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows Nt\CurrentVersion" $(!REG_KEY_READ) KeyNt
  159.  Ifstr(i) $(KeyNt) != ""
  160.  GetRegValue $(KeyNt) "CurrentVersion" CurrentVersionValue
  161.  Debug-Output "$(InfFile) $(Option): WinNT CurrentVersion ="$(CurrentVersionValue)
  162.  CloseRegKey $(KeyNt)
  163.  Endif
  164.  
  165. ifstr(i) (*($(CurrentVersionValue),4)) == $(NT310VersionConstant) 
  166. Debug-Output "$(InfFile) $(Option): Configureadapter"
  167.  set Error = "Windows NT v3.10 is not support by this product"
  168.  goto fatal
  169.  endif
  170.  
  171.  
  172. Ifstr(i) $(!NTN_InstallMode) == deinstall
  173.  set StartLabel = removeadapter
  174.  else-Ifstr(i) $(!NTN_InstallMode) == Update
  175.  set StartLabel = UpgradeSoftware
  176.  else-Ifstr(i) $(!NTN_InstallMode) == bind
  177.  set StartLabel = bindingadapter
  178.  else-Ifstr(i) $(!NTN_InstallMode) == configure
  179.  ifstr $(!STF_PLATFORM) == $(INF_PROCESSER) 
  180. RunProgram ExitCode "Windows Directory" "" 3nicdiag.exe 
  181. goto end
  182.  else-Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  183.  Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  184.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  185.  goto ShellCodeError
  186.  endif
  187.  set Error = $($R0)
  188.  set from = end
  189.  set to = end
  190.  goto nonfatalinfo
  191.  else
  192.  set StartLabel = configureadapter
  193.  endif
  194.  else
  195.  set StartLabel = installadapter
  196.  set OEM_ABANDON_OPTIONS = {}
  197.  set OEM_ABANDON_SOFTWARE = FALSE
  198.  set OEM_ABANDON_ON = TRUE
  199.  endif
  200.  
  201.  Debug-Output "$(InfFile) $(Option): =================================================="
  202.  Debug-Output "$(InfFile) $(Option): STF_CWDIR is: "$(!STF_CWDIR)
  203.  Debug-Output "$(InfFile) $(Option): STF_SRCDIR is: "$(!STF_SRCDIR)
  204.  Debug-Output "$(InfFile) $(Option): STF_LANGUAGE is: "$(!STF_LANGUAGE)
  205.  Debug-Output "$(InfFile) $(Option): Option is: "$(Option)
  206.  Debug-Output "$(InfFile) $(Option): !STF_NCN_InstallMode is:"$(!NTN_InstallMode)
  207.  Debug-Output "$(InfFile) $(Option): !STF_NCDETECT is: "$(!STF_NCDETECT)
  208.  Debug-Output "$(InfFile) $(Option): !STF_NCOPTION is: "$(!STF_NCOPTION)
  209.  Debug-Output "$(InfFile) $(Option): !STF_NCDETCARD is: "$(!STF_NCDETCARD)
  210.  Debug-Output "$(InfFile) $(Option): !STF_NCDETINFO is: "$(!STF_NCDETINFO)
  211.  Debug-Output "$(InfFile) $(Option): !STF_GUI_UNATTENDED is: "$(!STF_GUI_UNATTENDED)
  212.  Debug-Output "$(InfFile) $(Option): !STF_BusType is $(!STF_BUSTYPE)" 
  213. Debug-Output "$(InfFile) $(Option): !STF_BusTypeList is $(!STF_BUSTYPELIST)" 
  214. Debug-Output "$(InfFile) $(Option): =================================================="
  215.  
  216.  set from = $(fatal)
  217.  set to = $(fatal)
  218.  goto $(StartLabel)
  219.  
  220. installadapter = +
  221.  
  222. Debug-Output "$(InfFile) $(Option): Installadapter" 
  223. OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(!REG_KEY_READ) KeyProduct
  224.  Ifstr $(KeyProduct) != $(KeyNull)
  225.  CloseRegKey $(KeyProduct)
  226.  ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
  227.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  228.  Debug-Output "ShellCode error: cannot get an error string."
  229.  goto ShellCodeError
  230.  endif
  231.  goto end
  232.  else
  233.  set OldVersionExisted = $(TRUE)
  234.  endif
  235.  Endif
  236.  
  237.  Goto adapteroptions 
  238.  
  239. configureadapter = +
  240.  Debug-Output "$(InfFile) $(Option): Configureadapter"
  241.  
  242.  set Error = "Cannot configure the software component"
  243.  goto fatal
  244.  
  245. adapteroptions = +
  246.  Debug-Output "$(InfFile) $(Option): Adapteroptions"
  247.  set from = adapteroptions
  248.  ifstr(i) $(!NTN_InstallMode) == configure
  249.  goto updateparameters
  250.  endif
  251.  
  252. installproduct =+
  253.  Debug-Output "$(InfFile) $(Option): installproduct"
  254.  StartWait 
  255. set AdapterList = $($R1)
  256.  ifint $(OldVersionExisted) == $(FALSE)
  257.  Ifstr(i) $(DoCopy) == "YES"
  258.  Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) NO
  259.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  260.  Goto ShellCodeError
  261.  Else-Ifstr(i) $($R0) == STATUS_FAILED
  262.  Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  263.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  264.  goto ShellCodeError
  265.  endif
  266.  set Error = $($R0)
  267.  Goto fatal
  268.  Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  269.  Goto successful
  270.  Endif
  271.  
  272. Endif
  273.  
  274.  install "Install-Option"
  275.  ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  276.  Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  277.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  278.  goto ShellCodeError
  279.  endif
  280.  set Error = $($R0)
  281.  goto fatal
  282.  endif
  283.  endif
  284.  
  285.  
  286.  
  287.  
  288.  
  289. OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ProductHardwareName) $(!REG_KEY_READ) KeyNt
  290.  CloseRegKey $(KeyNt)
  291.  
  292.  Ifstr(i) $(KeyNt) == ""
  293.  Debug-Output "$(InfFile) $(Option): AddSoftwareComponent"
  294.  Debug-Output "$(InfFile) $(Option): --> $(Manufacturer)"
  295.  Debug-Output "$(InfFile) $(Option): --> $(ProductSoftwareName)"
  296.  Debug-Output "$(InfFile) $(Option): --> $(ProductSoftwareTitle)"
  297.  Debug-Output "$(InfFile) $(Option): --> $(STF_CONTEXTINFNAME)"
  298.  Debug-Output "$(InfFile) $(Option): --> $(ProductSoftwareImagePath)"
  299.  Debug-Output "$(InfFile) $(Option): --> $(NetEventDLL)"
  300.  
  301.  Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
  302.  $(ProductSoftwareName), +
  303.  $(ProductSoftwareName), +
  304.  $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
  305.  $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
  306.  $(NetEventDLL)
  307.  
  308. Set OEM_ABANDON_SOFTWARE = TRUE
  309.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  310.  goto ShellCodeError
  311.  endif
  312.  set RegistryErrorIndex = $($R0)
  313.  Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  314.  EndWait
  315.  CloseRegKey $($R1)
  316.  CloseRegKey $($R2)
  317.  CloseRegKey $($R3)
  318.  CloseRegKey $($R4)
  319.  CloseRegKey $($R5)
  320.  goto fatalregistry
  321.  endif
  322.  Set SoftProductKey = $($R1)
  323.  Set SoftNetRuleKey = $($R2)
  324.  Set SoftServiceKey = $($R3)
  325.  Set SoftParameterKey = $($R4)
  326.  Set SoftLinkageKey = $($R5)
  327.  set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  328.  {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  329.  {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  330.  {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
  331.  {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
  332.  {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
  333.  {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  334.  Shell $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList)
  335.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  336.  goto ShellCodeError
  337.  endif
  338.  set RegistryErrorIndex = $($R0)
  339.  Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  340.  EndWait
  341.  CloseRegKey $(SoftProductKey)
  342.  CloseRegKey $(SoftNetRuleKey)
  343.  CloseRegKey $(SoftServiceKey)
  344.  CloseRegKey $(SoftParameterKey)
  345.  CloseRegKey $(SoftLinkageKey)
  346.  goto fatalregistry
  347.  endif
  348.  set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  349.  {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  350.  {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  351.  {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  352.  {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
  353.  {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  354.  Shell $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
  355.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  356.  goto ShellCodeError
  357.  endif
  358.  set RegistryErrorIndex = $($R0)
  359.  CloseRegKey $(SoftProductKey)
  360.  CloseRegKey $(SoftNetRuleKey)
  361.  CloseRegKey $(SoftServiceKey)
  362.  CloseRegKey $(SoftParameterKey)
  363.  CloseRegKey $(SoftLinkageKey)
  364.  
  365.  
  366.  
  367. set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  368.  {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  369.  {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  370.  {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  371.  {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
  372.  {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  373.  Shell $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
  374.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  375.  goto ShellCodeError
  376.  endif
  377.  
  378.  
  379. Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  380.  EndWait
  381.  goto fatalregistry
  382.  endif
  383.  endif 
  384.  
  385. Debug-Output "$(InfFile) $(Option): About to look for 3Com PCI Cards"
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393. set TargetVersion = *($(CurrentVersionValue),4)
  394.  Debug-Output "$(InfFile) $(Option): Current Version:"$(TargetVersion)
  395.  
  396.  ifstr $(TargetVersion) == $(NT350VersionConstant) 
  397. Debug-Output "Running on WindowsNT 3.50"
  398.  set Version350 = $(TRUE)
  399.  else
  400.  Debug-Output "Running on WindowsNT 3.51 or higher"
  401.  set Version350 = $(FALSE)
  402.  endif
  403.  
  404.  ifint $(Version350) == $(TRUE)
  405.  Debug-Output "Running on WindowsNT v3.50, Not using PCI Detection!!!"
  406.  ifstr $(!STF_GUI_UNATTENDED) == "YES"
  407.  Debug-Output "$(InfFile) $(Option): Running in GUI unattended mode"
  408.  ifstr(i) $(!AutoNetInterfaceType) != ""
  409.  set BusInterfaceType = $(!AutoNetInterfaceType)
  410.  else
  411.  set BusInterfaceType = 5
  412.  endif
  413.  ifstr(i) $(!AutoNetBusNumber) != ""
  414.  set BusNumber = $(!AutoNetBusNumber)
  415.  else
  416.  set BusNumber = 0
  417.  endif
  418.  set NTDetected = $(FALSE)
  419.  set AdapterList = $(Option) 
  420. Debug-Output "$(InfFile) $(Option): BusInterfaceType = $(BusInterfaceType)"
  421.  Debug-Output "$(InfFile) $(Option): BusNumber = $(BusNumber)"
  422.  else 
  423. Debug-Output "$(InfFile) $(Option): Running 3.50 Bus Dialog"
  424.  set BusInterfaceType = 5
  425.  set BusNumber = 0
  426.  set NTDetected = $(FALSE)
  427.  Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardware$(Option)Description) $(BusInterfaceType) $(BusNumber)
  428.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  429.  Debug-Output "ShellCode error."
  430.  goto ShellCodeError
  431.  endif
  432.  set BusInterfaceType = $($R1)
  433.  set BusNumber = $($R2)
  434.  set AdapterList = $(Option) 
  435. Debug-Output "$(InfFile) $(Option): BusInterfaceType = $(BusInterfaceType)"
  436.  Debug-Output "$(InfFile) $(Option): BusNumber = $(BusNumber)"
  437.  endif 
  438. else
  439.  Debug-Output "$(InfFile) $(Option): Running 3.51 or higher using PCI Dectection"
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447. set NTDetected = $(TRUE)
  448.  set Vendor = 4279 
  449. set CFIDList = $($(Option)CFIDList)
  450.  Debug-Output "$(InfFile) $(Option): VendorID = $(Vendor)"
  451.  Debug-Output "$(InfFile) $(Option): CFIDList = $(CFIDList)"
  452.  set AdapterList = {}
  453.  ForListDo $(CFIDList)
  454.  set-div CFID = $($) 1
  455.  Shell $(UtilityInf), GetPCIInformation, $(Vendor) $(CFID)
  456.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  457.  goto ShellCodeError
  458.  endif
  459.  ForListDo $($R0)
  460.  set AdapterList = >($(AdapterList), $($))
  461.  EndForListDo
  462.  EndForListDo
  463.  ifstr(i) $(AdapterList) == {}
  464.  set Error = $(CANNOT_FIND_ANY_CARD)
  465.  set CommonStatus = USER_CANCEL
  466.  set from = end
  467.  goto nonfatal
  468.  endif
  469.  endif 
  470.  
  471.  
  472.  
  473. Debug-Output "$(InfFile) $(Option): Adapterlist = $(AdatperList)"
  474.  ForListDo $(AdapterList)
  475.  Set InstallCard = "YES"
  476.  ifint $(NTDetected) == $(TRUE)
  477.  set DetectedBusNum = *($($),1)
  478.  set DetectedSlotNum = *($($),2)
  479.  Debug-Output "$(InfFile) $(Option): DetectedBusNumber = $(DetectedBusNum)"
  480.  Debug-Output "$(InfFile) $(Option): DetectedSlotNum = $(DetectedSlotNum)"
  481.  
  482.  Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(DetectedBusNum), +
  483.  $(DetectedSlotNum), $(ProductHardware$(Option)Description), $(ProductHardwareName)
  484.  
  485. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  486.  goto ShellCodeError
  487.  endif
  488.  ifstr $($R0) != "NO_ERROR"
  489.  set Error = $($R0)
  490.  goto fatal
  491.  endif
  492.  ifstr(i) $($R1) == "YES"
  493.  set InstallCard = "NO" 
  494. endif 
  495. endif
  496.  
  497.  
  498.  
  499. ifstr(i) $(InstallCard) == "NO"
  500.  Debug-Output "$(InfFile) $(Option): Card Already at $(DetectedBusNum):$(DetectedSlotNum) already installed!"
  501.  set Error = "An adapter at $(DetectedBusNum):$(DetectedSlotNum) is already installed!"
  502.  Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  503.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  504.  goto ShellCodeError
  505.  endif
  506.  else
  507.  Debug-Output "$(InfFile) $(Option): Installing Card at $(DetectedBusNum):$(DetectedSlotNum)!"
  508.  Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
  509.  ifint $($R4) != -1
  510.  Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  511.  endif
  512.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  513.  goto ShellCodeError
  514.  endif
  515.  set RegistryErrorIndex = $($R0)
  516.  Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  517.  EndWait
  518.  CloseRegKey $($R1)
  519.  CloseRegKey $($R2)
  520.  CloseRegKey $($R3)
  521.  goto fatalregistry
  522.  endif
  523.  Set HardNetCardKey = $($R1)
  524.  Set HardNetRuleKey = $($R2)
  525.  Set HardParameterKey = $($R3)
  526.  set AdapterNumber = $($R4)
  527.  set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  528.  {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)Title)},+
  529.  {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+
  530.  {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
  531.  {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  532.  {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  533.  Shell $(UtilityInf), AddValueList, $(HardNetCardKey), $(NewValueList)
  534.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  535.  goto ShellCodeError
  536.  endif
  537.  
  538.  
  539.  
  540. set BusTypeNum = 5 
  541. ifstr(i) $(Option) == "3C905"
  542.  set CardType = 0
  543.  else
  544.  set CardType = 2
  545.  endif 
  546.  
  547.  
  548.  
  549. ifint $(NTDetected) == $(TRUE)
  550.  set BusNumber = $(DetectedBusNum)
  551.  set SlotNum = $(DetectedSlotNum) 
  552. set BusInterfaceType = $(BusTypeNum)
  553.  
  554.  
  555.  
  556.  
  557. Set NewValueList = {+
  558.  {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
  559.  {Slot,$(NoTitle),$(!REG_VT_DWORD),$(SlotNum)}+
  560.  }
  561.  Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
  562.  Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
  563.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  564.  goto ShellCodeError
  565.  endif
  566.  
  567.  Set NewValueList = { {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNum)} }
  568.  Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
  569.  Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
  570.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  571.  goto ShellCodeError
  572.  endif
  573.  else
  574.  Set NewValueList = {+
  575.  {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
  576.  }
  577.  Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
  578.  Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
  579.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  580.  goto ShellCodeError
  581.  endif
  582.  endif
  583.  
  584.  Set NewValueList = {+
  585.  {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusInterfaceType)},+
  586.  {CardType,$(NoTitle),$(!REG_VT_DWORD),$(CardType)},+
  587.  {MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+
  588.  }
  589.  
  590.  Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
  591.  Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
  592.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  593.  goto ShellCodeError
  594.  endif
  595.  
  596.  set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
  597.  set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  598.  set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardware$(Option)Type)},+
  599.  {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  600.  {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardware$(Option)Class)}, +
  601.  {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  602.  
  603. Debug-Output "$(InfFile) $(Option): HardwareRuleKey = $(NewValueList)"
  604.  Shell $(UtilityInf), AddValueList, $(HardNetRuleKey), $(NewValueList)
  605.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  606.  goto ShellCodeError
  607.  endif
  608.  CloseRegKey $(HardNetCardKey)
  609.  CloseRegKey $(HardNetRuleKey)
  610.  CloseRegKey $(HardParameterKey)
  611.  endif 
  612. EndForListDo
  613.  
  614. ifstr $(!STF_PLATFORM) == $(INF_PROCESSER) 
  615. install "Install-3nicdiag"
  616.  
  617.  
  618. set CalledPace = "installpace"
  619.  goto paceentries
  620. installpace = + 
  621.  
  622. ifstr(i) (*($(CurrentVersionValue),4)) == $(NT400VersionConstant) 
  623. Debug-Output "$(InfFile) $(Option): Windows NT 4.00"
  624.  OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" $(!REG_KEY_ALL_ACCESS) KeyNt
  625.  set TrayIconList = {COMSMDEXE,$(NoTitle),$(!REG_VT_SZ),$(TrayIconExe)}
  626.  SetRegValue $(KeyNt) $(TrayIconList)
  627.  install "Install-TrayAndCpl"
  628.  CloseRegKey $(KeyNt)
  629.  endif
  630.  RunProgram ExitCode "Windows Directory" "" 3nicdiag.exe "-inf"
  631. endif
  632.  
  633.  EndWait
  634.  goto successful
  635.  
  636. updateparameters =+
  637.  Debug-Output "$(InfFile) $(Option): Updateparameters"
  638.  set HardParameterKey = $($R3)
  639.  
  640. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  641.  goto ShellCodeError
  642.  endif
  643.  CloseRegKey $(KeyParameters)
  644.  goto successful
  645.  
  646. bindingadapter =+
  647.  Debug-Output "$(InfFile) $(Option): bindingadapter"
  648.  set Error = "Binding: Sorry, not yet implemented."
  649.  goto fatal
  650.  
  651. removeadapter = +
  652.  Debug-Output "$(InfFile) $(Option): removeadapter"
  653.  Debug-Output "$(InfFile) $(Option): ----> $(ProductKeyName), $(!NTN_RegBase)"
  654.  Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  655.  Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  656.  $(ProductSoftwareName)
  657.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  658.  goto ShellCodeError
  659.  endif
  660.  set RegistryErrorIndex = $($R0)
  661.  Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  662.  goto fatalregistry
  663.  endif
  664.  else
  665.  Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  666.  $(ProductSoftwareName), $(!NTN_RegBase)
  667.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  668.  goto ShellCodeError
  669.  endif
  670.  set RegistryErrorIndex = $($R0)
  671.  Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  672.  goto fatalregistry
  673.  endif
  674.  endif
  675.  ifstr(i) (*($(CurrentVersionValue),4)) == $(NT400VersionConstant) 
  676. Debug-Output "$(InfFile) $(Option): Windows NT 4.00 remove icon"
  677.  OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" $(!REG_KEY_ALL_ACCESS) KeyNt
  678.  set TrayIconList = COMSMDEXE
  679.  DeleteRegValue $(KeyNt) $(TrayIconList)
  680.  CloseRegKey $(KeyNt)
  681.  endif
  682.  goto end
  683.  
  684.  
  685.  
  686.  
  687.  
  688. UpgradeSoftware = +
  689.  Debug-Output "$(InfFile) $(Option): UpdateSoftware" 
  690.  
  691. ifstr(i) (*($(CurrentVersionValue),4)) == $(NT400VersionConstant) 
  692. Debug-Output "$(InfFile) $(Option): Windows NT 4.00"
  693.  OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" $(!REG_KEY_ALL_ACCESS) KeyNt
  694.  set TrayIconList = {COMSMDEXE,$(NoTitle),$(!REG_VT_SZ),$(TrayIconExe)}
  695.  SetRegValue $(KeyNt) $(TrayIconList)
  696.  install "Install-TrayAndCpl"
  697.  CloseRegKey $(KeyNt)
  698.  endif
  699.  
  700.  
  701. set CalledPace = "updatepace"
  702.  goto paceentries
  703. updatepace = + 
  704.  
  705. install "Install-Update"
  706.  ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  707.  goto fatal
  708.  endif
  709.  SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
  710.  SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
  711.  CloseRegKey $(KeyProduct)
  712.  else
  713.  goto fatalregistry
  714.  endif
  715.  goto end
  716.  
  717. successful = +
  718.  Debug-Output "$(InfFile) $(Option): Successful"
  719.  goto end
  720.  
  721. abandon = +
  722.  Debug-Output "$(InfFile) $(Option): Abandon"
  723.  ForListDo $(OEM_ABANDON_OPTIONS)
  724.  Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  725.  $(ProductSoftwareName), $($)
  726.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  727.  goto ShellCodeError
  728.  endif
  729.  set RegistryErrorIndex = $($R0)
  730.  Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  731.  goto fatalregistry
  732.  endif
  733.  EndForListDo
  734.  Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  735.  Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  736.  $(ProductSoftwareName), FALSE
  737.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  738.  goto ShellCodeError
  739.  endif
  740.  set RegistryErrorIndex = $($R0)
  741.  Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  742.  goto fatalregistry
  743.  endif
  744.  endif
  745.  goto end
  746.  
  747. warning = +
  748.  Debug-Output "$(InfFile) $(Option): warning"
  749.  Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  750.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  751.  goto ShellCodeError
  752.  endif
  753.  ifstr(i) $($R1) == "OK"
  754.  goto $(to)
  755.  else-ifstr(i) $($R1) == "CANCEL"
  756.  goto $(from)
  757.  else
  758.  goto "end"
  759.  endif
  760.  
  761. nonfatalinfo = +
  762.  Debug-Output "$(InfFile) $(Option): nonfatalinfo"
  763.  Set CommonStatus = STATUS_USERCANCEL
  764.  Set Severity = STATUS
  765.  goto nonfatalmsg
  766.  
  767. nonfatal = +
  768.  Debug-Output "$(InfFile) $(Option): nonfatal"
  769.  Set Severity = NONFATAL
  770.  goto nonfatalmsg
  771.  
  772. nonfatalmsg = +
  773.  Debug-Output "$(InfFile) $(Option): nonfatalmsg"
  774.  ifstr(i) $(Error) == ""
  775.  Set Severity = NONFATAL
  776.  Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  777.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  778.  goto ShellCodeError
  779.  endif
  780.  set Error = $($R0)
  781.  endif
  782.  Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  783.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  784.  goto ShellCodeError
  785.  endif
  786.  ifstr(i) $($R1) == "OK"
  787.  goto $(from)
  788.  else
  789.  
  790. goto "RemoveAdapter"
  791.  endif
  792.  
  793. fatalregistry = +
  794.  Debug-Output "$(InfFile) $(Option): fatalregistry"
  795.  Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  796.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  797.  goto ShellCodeError
  798.  endif
  799.  set Error = $($R0)
  800.  goto fatal
  801.  
  802. fatal = +
  803.  Debug-Output "$(InfFile) $(Option): fatal"
  804.  ifstr(i) $(Error) == ""
  805.  Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  806.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  807.  goto ShellCodeError
  808.  endif
  809.  set Error = $($R0)
  810.  endif
  811.  Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  812.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  813.  goto ShellCodeError
  814.  endif
  815.  goto setfailed
  816.  
  817. ShellCodeError = +
  818.  Debug-Output "$(InfFile) $(Option): ShellCodeError"
  819.  set DlgType = "MessageBox"
  820.  set STF_MB_TITLE = $(ShellCodeErrorTitle)
  821.  set STF_MB_TEXT = $(ShellCodeErrorText) 
  822. set STF_MB_TYPE = 1
  823.  set STF_MB_ICON = 3
  824.  set STF_MB_DEF = 1
  825.  ui start "Error Message"
  826.  goto setfailed
  827.  
  828. setfailed = +
  829.  Debug-Output "$(InfFile) $(Option): Setfailed"
  830.  set CommonStatus = STATUS_FAILED
  831.  ifstr(i) $(OEM_ABANDON_ON) == TRUE
  832.  set OEM_ABANDON_ON = FALSE
  833.  goto abandon
  834.  endif
  835.  goto end
  836.  
  837. end = +
  838.  goto term
  839.  
  840. term = +
  841.  Return $(CommonStatus)
  842.  
  843. paceentries = +
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852. OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE" $(!REG_KEY_WRITE) SOFTPACEKEY
  853.  
  854.  
  855. OpenRegKey $(SOFTPACEKEY) "" "3Com" $(!REG_KEY_WRITE) COMPACEKEY
  856.  ifstr $(COMPACEKEY) == ""
  857.  CreateRegKey $(SOFTPACEKEY) {"3Com", 0, GenericClass} "" $(!REG_KEY_WRITE) "" COMPACEKEY
  858.  endif
  859.  
  860.  
  861. OpenRegKey $(COMPACEKEY) "" "PACECards" $(!REG_KEY_WRITE) CARDPACEKEY
  862.  ifstr $(CARDPACEKEY) == ""
  863.  CreateRegKey $(COMPACEKEY) {"PACECards", 0, GenericClass} "" $(!REG_KEY_WRITE) "" CARDPACEKEY
  864.  endif
  865.  
  866.  
  867. OpenRegKey $(CARDPACEKEY) "" "EL90X" $(!REG_KEY_WRITE) EL90XPACEKEY
  868.  ifstr $(EL90XPACEKEY) == ""
  869.  CreateRegKey $(CARDPACEKEY) {"EL90X", 0, GenericClass} "" $(!REG_KEY_WRITE) "" EL90XPACEKEY
  870.  endif
  871.  
  872.  
  873. SetRegValue $(EL90XPACEKEY) {"Description", 0, $(!REG_VT_SZ), $(GROUP_NAME)}
  874.  
  875.  
  876. OpenRegKey $(CARDPACEKEY) "" "Applications" $(!REG_KEY_WRITE) APPPACEKEY
  877.  ifstr $(APPPACEKEY) == ""
  878.  CreateRegKey $(CARDPACEKEY) {"Applications", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPPACEKEY
  879.  endif
  880.  
  881.  OpenRegKey $(APPPACEKEY) "" "Emotion CreativePartner (IPX)" $(!REG_KEY_WRITE) APPSPECPACEKEY
  882.  ifstr $(APPSPECPACEKEY) == ""
  883.  CreateRegKey $(APPPACEKEY) {"Emotion CreativePartner (IPX)", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  884.  endif
  885.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"IPX"},+
  886.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  887.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"87C7"}, +
  888.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"87C8"}}
  889.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  890.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  891.  goto ShellCodeError
  892.  endif
  893.  CloseRegKey $(APPSPECPACEKEY)
  894.  
  895.  
  896. OpenRegKey $(APPPACEKEY) "" "Emotion CreativePartner (TCP/IP)" $(!REG_KEY_WRITE) APPSPECPACEKEY
  897.  ifstr $(APPSPECPACEKEY) == ""
  898.  CreateRegKey $(APPPACEKEY) {"Emotion CreativePartner (TCP/IP)", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  899.  endif
  900.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  901.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  902.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"0453"}, +
  903.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"0455"}}
  904.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  905.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  906.  goto ShellCodeError
  907.  endif
  908.  CloseRegKey $(APPSPECPACEKEY)
  909.  
  910.  OpenRegKey $(APPPACEKEY) "" "InSoft Communique!" $(!REG_KEY_WRITE) APPSPECPACEKEY
  911.  ifstr $(APPSPECPACEKEY) == ""
  912.  CreateRegKey $(APPPACEKEY) {"InSoft Communique!", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  913.  endif
  914.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  915.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  916.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"1025, 1500"}, +
  917.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"1050, 1525"}}
  918.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  919.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  920.  goto ShellCodeError
  921.  endif
  922.  CloseRegKey $(APPSPECPACEKEY)
  923.  
  924.  OpenRegKey $(APPPACEKEY) "" "Picturetel LiveLAN (over IPX)" $(!REG_KEY_WRITE) APPSPECPACEKEY
  925.  ifstr $(APPSPECPACEKEY) == ""
  926.  CreateRegKey $(APPPACEKEY) {"Picturetel LiveLAN (over IPX)", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  927.  endif
  928.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"IPX"},+
  929.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  930.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"4050"}, +
  931.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"4082"}}
  932.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  933.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  934.  goto ShellCodeError
  935.  endif
  936.  CloseRegKey $(APPSPECPACEKEY)
  937.  
  938.  OpenRegKey $(APPPACEKEY) "" "Picturetel LiveLAN (over TCP/IP)" $(!REG_KEY_WRITE) APPSPECPACEKEY
  939.  ifstr $(APPSPECPACEKEY) == ""
  940.  CreateRegKey $(APPPACEKEY) {"Picturetel LiveLAN (over TCP/IP)", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  941.  endif
  942.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  943.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  944.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"06a4"}, +
  945.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"06d6"}}
  946.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  947.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  948.  goto ShellCodeError
  949.  endif
  950.  CloseRegKey $(APPSPECPACEKEY)
  951.  
  952.  OpenRegKey $(APPPACEKEY) "" "Precept FlashWare" $(!REG_KEY_WRITE) APPSPECPACEKEY
  953.  ifstr $(APPSPECPACEKEY) == ""
  954.  CreateRegKey $(APPPACEKEY) {"Precept FlashWare", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  955.  endif
  956.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  957.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  958.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"8000, C000"}, +
  959.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"8000, C000"}}
  960.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  961.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  962.  goto ShellCodeError
  963.  endif
  964.  CloseRegKey $(APPSPECPACEKEY)
  965.  
  966.  OpenRegKey $(APPPACEKEY) "" "Progressive Networks RealAudio" $(!REG_KEY_WRITE) APPSPECPACEKEY
  967.  ifstr $(APPSPECPACEKEY) == ""
  968.  CreateRegKey $(APPPACEKEY) {"Progressive Networks RealAudio", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  969.  endif
  970.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  971.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  972.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"6970"}, +
  973.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"7170"}}
  974.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  975.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  976.  goto ShellCodeError
  977.  endif
  978.  CloseRegKey $(APPSPECPACEKEY)
  979.  
  980.  OpenRegKey $(APPPACEKEY) "" "Starlight Networks StarCast" $(!REG_KEY_WRITE) APPSPECPACEKEY
  981.  ifstr $(APPSPECPACEKEY) == ""
  982.  CreateRegKey $(APPPACEKEY) {"Starlight Networks StarCast", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  983.  endif
  984.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  985.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  986.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"1911"}, +
  987.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"1911"}}
  988.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  989.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  990.  goto ShellCodeError
  991.  endif
  992.  CloseRegKey $(APPSPECPACEKEY)
  993.  
  994.  OpenRegKey $(APPPACEKEY) "" "VCON Cruiser 100" $(!REG_KEY_WRITE) APPSPECPACEKEY
  995.  ifstr $(APPSPECPACEKEY) == ""
  996.  CreateRegKey $(APPPACEKEY) {"VCON Cruiser 100", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  997.  endif
  998.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  999.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  1000.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"1500, 1600"}, +
  1001.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"1500, 1600"}}
  1002.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  1003.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1004.  goto ShellCodeError
  1005.  endif
  1006.  CloseRegKey $(APPSPECPACEKEY)
  1007.  
  1008.  OpenRegKey $(APPPACEKEY) "" "VXtreme Web Theater" $(!REG_KEY_WRITE) APPSPECPACEKEY
  1009.  ifstr $(APPSPECPACEKEY) == ""
  1010.  CreateRegKey $(APPPACEKEY) {"VXtreme Web Theater", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  1011.  endif
  1012.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  1013.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  1014.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"7000"}, +
  1015.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"7020"}}
  1016.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  1017.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1018.  goto ShellCodeError
  1019.  endif
  1020.  CloseRegKey $(APPSPECPACEKEY)
  1021.  
  1022.  OpenRegKey $(APPPACEKEY) "" "Xing Technology Streamworks" $(!REG_KEY_WRITE) APPSPECPACEKEY
  1023.  ifstr $(APPSPECPACEKEY) == ""
  1024.  CreateRegKey $(APPPACEKEY) {"Xing Technology Streamworks", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  1025.  endif
  1026.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  1027.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  1028.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"1558"}, +
  1029.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"1558"}}
  1030.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  1031.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1032.  goto ShellCodeError
  1033.  endif
  1034.  
  1035.  OpenRegKey $(APPPACEKEY) "" "Vosaic Software Server" $(!REG_KEY_WRITE) APPSPECPACEKEY
  1036.  ifstr $(APPSPECPACEKEY) == ""
  1037.  CreateRegKey $(APPPACEKEY) {"Vosaic Software Server", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  1038.  endif
  1039.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"TCP"},+
  1040.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  1041.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"04D3"}, +
  1042.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"04D3"}}
  1043.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  1044.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1045.  goto ShellCodeError
  1046.  endif
  1047.  
  1048.  OpenRegKey $(APPPACEKEY) "" "Vosaic Software Client" $(!REG_KEY_WRITE) APPSPECPACEKEY
  1049.  ifstr $(APPSPECPACEKEY) == ""
  1050.  CreateRegKey $(APPPACEKEY) {"Vosaic Software Client", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  1051.  endif
  1052.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  1053.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  1054.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"F169"}, +
  1055.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"F17D"}}
  1056.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  1057.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1058.  goto ShellCodeError
  1059.  endif
  1060.  
  1061.  
  1062. CloseRegKey $(APPSPECPACEKEY)
  1063.  CloseRegKey $(EL90XPACEKEY)
  1064.  CloseRegKey $(APPPACEKEY)
  1065.  CloseRegKey $(CARDPACEKEY)
  1066.  CloseRegKey $(COMPACEKEY)
  1067.  CloseRegKey $(SOFTPACEKEY)
  1068.  
  1069.  goto $(CalledPace)
  1070.  
  1071.  
  1072.  
  1073. [Install-Option]
  1074.  set STF_VITAL = ""
  1075.  ifstr(i) $(AddCopy) == "YES"
  1076.  AddSectionFilesToCopyList Files-$(Option) $(SrcDir)WIN32\$(!STF_PLATFORM) $(!STF_WINDOWSSYSPATH)\drivers
  1077.  endif
  1078.  ifstr(i) $(DoCopy) == "YES"
  1079.  set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1080.  CopyFilesInCopyList
  1081.  endif
  1082.  Exit
  1083.  
  1084. [Install-3nicdiag]
  1085.  set STF_VITAL = ""
  1086.  AddSectionFilesToCopyList Files-3nicdiag $(SrcDir)win32 $(!STF_WINDOWSSYSPATH)
  1087.  AddSectionFilesToCopyList Files-HwDll $(SrcDir)WINNT $(!STF_WINDOWSSYSPATH)
  1088.  set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1089.  CopyFilesInCopyList
  1090.  Exit
  1091.  
  1092. [Install-TrayAndCpl]
  1093.  set STF_VITAL = ""
  1094.  AddSectionFilesToCopyList Files-TrayAndCpl $(SrcDir)win32 $(!STF_WINDOWSSYSPATH)
  1095.  set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1096.  CopyFilesInCopyList
  1097.  Exit
  1098.  
  1099. [Install-Update]
  1100.  set STF_VITAL = ""
  1101.  set STF_OVERWRITE = "VERIFYSOURCEOLDER"
  1102. ifstr $(!STF_PLATFORM) == $(INF_PROCESSER) 
  1103. AddSectionFilesToCopyList Files-3nicdiag $(SrcDir)win32 $(!STF_WINDOWSSYSPATH)
  1104.  AddSectionFilesToCopyList Files-HwDll $(SrcDir)WINNT $(!STF_WINDOWSSYSPATH)
  1105.  AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1106.  AddSectionFilesToCopyList Files-$(Option) $(SrcDir)WIN32\$(!STF_PLATFORM) $(!STF_WINDOWSSYSPATH)\drivers
  1107.  set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1108.  CopyFilesInCopyList
  1109.  
  1110.  
  1111.  exit
  1112.  
  1113. [Source Media Descriptions]
  1114.  1 = "Windows NT Setup Disk #1" 
  1115. 2 = "3Com Etherdisk for Fast EtherLink XL / EtherLink XL Adapters (DISK 1)", TAGFILE = DISK1
  1116.  3 = "3Com Etherdisk for Fast EtherLink XL / EtherLink XL Adapters (DISK 2)", TAGFILE = DISK2
  1117.  
  1118. [ProductType]
  1119. STF_PRODUCT = Winnt
  1120.  
  1121. [Files-Inf]
  1122. 3, oemsetup.inf, SIZE=36000
  1123.  
  1124. [Files-3nicdiag]
  1125. 3,3nicdiag.exe, SIZE=165504
  1126. 3,3nicdiag.hlp, SIZE=20877
  1127. 3,3varaddr.txt, SIZE=113
  1128. 3,pacecfg.cpl, SIZE=107457
  1129. 3,pacecfg.hlp, SIZE=6617
  1130.  
  1131. [Files-HwDll]
  1132. 3,hwaccess.dll, SIZE=20198
  1133. 3,pcomdrv.sys, SIZE=5000
  1134. 3,3c90xcfg.dll, SIZE=59458
  1135.  
  1136. [Files-TrayAndCpl]
  1137. 3,comsmd.exe, SIZE=8957
  1138.  
  1139. [Files-3C905]
  1140. 3,EL90x.SYS , SIZE=25001
  1141. [Files-3C900]
  1142. 3,EL90x.SYS , SIZE=25001
  1143.  
  1144.  
  1145. [LanguagesSupported]
  1146.  ENG
  1147.  
  1148. [OptionsTextENG]
  1149.  3C905 = "3Com Fast EtherLink XL Adapter (3C905)"
  1150.  3C900 = "3Com EtherLink XL Adapter (3C900)"
  1151.  
  1152. [FileConstantsENG]
  1153.  ProCaption = "Windows NT NIC Setup"
  1154.  ProCancel = "Cancel"
  1155.  ProCancelMsg = "Windows NT Networking is not correctly installed. "+
  1156.  "Are you sure you want to cancel copying files?"
  1157.  ProCancelCap = "Network Setup Message"
  1158.  ProText1 = "Copying:"
  1159.  ProText2 = "To:"
  1160.  
  1161. ConnectionList = ^(ConnectionChoices$(Option), 1)
  1162. ConnectionValues = ^(ConnectionChoices$(Option), 2)
  1163. NoList = ^(NoChoices, 1)
  1164. NoValues = ^(NoChoices, 2)
  1165. ShellCodeErrorTitle = "Error: "$(Function$(Option)Title)
  1166. ShellCodeErrorText = "Shell Code Error."
  1167. CANNOT_FIND_ANY_CARD = "Network card is not present in the system"
  1168.  
  1169. [DialogConstantsENG]
  1170. Help = "&Help"
  1171. Exit = "Cancel"
  1172. OK = "OK"
  1173. HelpContext = ""
  1174. Continue = "Continue"
  1175. Cancel = "Cancel"
  1176.